package object;


/**
 * 测试重写Oject的toString方法与eequals方法
 */
public class Demo {
    public static void main(String[] args) {
        point p = new point(1,2);
        /*
            String toString()方法式Object定义的方法
            该方法的作用是将当前对象转换为一个字符串。 Object的默认现实中该方法返回的
            是这个的地址信息。格式为:类名@地址
         */
        String str = p.toString();
        System.out.println(str);
        //向控制台输出p对象
        /*
            System.out.println(Object  o)
            向控制台输出一个对象的时候，该方法会输出该对象toString方法返回的字符串
         */
        System.out.println(p);

        /*
               在进行字符串连接是，会将非字符串的对象内容转换为字符串，此时会调用起toString
               方法将其转换为字符串。
         */
        String line = "对象内筒:"+ p;
        System.out.println(line);


        /*
            Object定义的另一个常被自雷重写的方法:equals
            该方法的作用是判断两个同类型的实例之间的内容是否相同
         */

        point p2 = new point(1,2);
        /*
            ==为值比较，比较两个变量的值是否相同
            对于引用类型变量而言，保存的是地址，因此==可以理解为比较两个对象的地址是否
            相同，值就意味着比较的是它们是否为同一个对象
         */
        System.out.println(p==p2);//false
        /*
            equals方法并不关心两个对象是否为同一个对象，而是应当关心两个对象的内容是否
            相同。Object定义的该方法内部使用"=="实现，因此我们实际应用时应当重写该方法
            是否没有实际意义。
         */

        System.out.println(p.equals(p2));

        /*
            1. https://gitee.com  /注册用户
            2. 下载Git工具安装下来，默认安装
         */

    }
}
